-
-
Notifications
You must be signed in to change notification settings - Fork 8.5k
[rust] Fix Windows arm64 logic for Selenium Manager and prepare CI for running the test suite #16046
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: trunk
Are you sure you want to change the base?
[rust] Fix Windows arm64 logic for Selenium Manager and prepare CI for running the test suite #16046
Conversation
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨No code suggestions found for the PR. |
@@ -36,6 +36,7 @@ jobs: | |||
- os: macos | |||
- os: ubuntu | |||
- os: windows | |||
- os: windows-11-arm |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This requires actions/partner-runner-images#77 to be merged first, which apparently is currently going through a last round of tests and should be published soon 🚀
Alternatively, for the time being, we could use actions-rust-lang/setup-rust-toolchain
as suggested here.
When this happens, all the bindings will need to be updated to use the correct version of Selenium Manager when running on ARM. Currently, we ship all versions of Selenium Manager on all platforms. When runninng on Windows, the bindings just use |
User description
🔗 Related Issues
#15801
💥 What does this PR do?
This PR fixes two issues that were preventing the Rust test suite to fully pass on Windows on ARM. While running the tests locally on an arm64 machine, I ran into these errors:
and
It turned out that the arch names for Windows arm64 were incorrect in the Rust code. Confirmed that these are valid URLs:
I want to emphasize that Windows ARM64 can run x64 binaries under emulation. So even though e.g. Chrome doesn't have a native Chromedriver yet, Windows ARM64 can run the x64 version under emulation.
This means that the following browsers/drivers will work on Windows ARM64:
I can confirm that the Rust test suite is passing locally on my Windows arm64 machine.
🔧 Implementation Notes
💡 Additional Considerations
🔄 Types of changes
PR Type
Bug fix
Description
Fix Windows ARM64 platform labels in Selenium Manager
Correct Firefox ARM64 URL path from
win-aarch64
towin64-aarch64
Fix Electron ARM64 platform label from
win32-arm64-x64
towin32-arm64
Add Windows ARM64 CI testing support
Changes diagram
Changes walkthrough 📝
electron.rs
Correct Electron ARM64 platform label
rust/src/electron.rs
win32-arm64-x64
towin32-arm64
firefox.rs
Correct Firefox ARM64 platform label
rust/src/firefox.rs
win-aarch64
towin64-aarch64
ci-rust.yml
Enable Windows ARM64 CI testing
.github/workflows/ci-rust.yml
windows-11-arm
to CI test matrix